home *** CD-ROM | disk | FTP | other *** search
/ EuroCD 3 / EuroCD 3.iso / Programming / SecalDemo / Inc / dos / dosextens.inc < prev    next >
Text File  |  1998-06-24  |  7KB  |  371 lines

  1. include "inc/exec/tasks.inc";
  2. include "inc/exec/ports.inc";
  3. include "inc/exec/libraries.inc";
  4. include "inc/exec/semaphores.inc";
  5. include "inc/devices/timer.inc";
  6. include "inc/dos/dos.inc";
  7.  
  8. struct Process is
  9.   pr_Task:Task;
  10.   pr_MsgPort:MsgPort;
  11.   pr_Pad:word;
  12.   pr_SegList:long;
  13.   pr_StackSize:long;
  14.   pr_GlobVec:ulong;
  15.   pr_TaskNum:long;
  16.   pr_StackBase:long;
  17.   pr_Result2:long;
  18.   pr_CurrentDir:long;
  19.   pr_CIS:long;
  20.   pr_COS:long;
  21.   pr_ConsoleTask:ulong;
  22.   pr_FileSystemTask:ulong;
  23.   pr_CLI:long;
  24.   pr_ReturnAddr:ulong;
  25.   pr_PktWait:ulong;
  26.   pr_WindowPtr:ulong;
  27.   pr_HomeDir:long;
  28.   pr_Flags:long;
  29.   pr_ExitCode:ulong;
  30.   pr_ExitData:long;
  31.   pr_Arguments:ulong;
  32.   pr_LocalVars:MinList;
  33.   pr_ShellPrivate:ulong;
  34.   pr_CES:long;
  35. ;
  36.  
  37. def PRB_FREESEGLIST = 0;
  38. def PRF_FREESEGLIST = 1;
  39. def PRB_FREECURRDIR = 1;
  40. def PRF_FREECURRDIR = 2;
  41. def PRB_FREECLI = 2;
  42. def PRF_FREECLI = 4;
  43. def PRB_CLOSEINPUT = 3;
  44. def PRF_CLOSEINPUT = 8;
  45. def PRB_CLOSEOUTPUT = 4;
  46. def PRF_CLOSEOUTPUT = 16;
  47. def PRB_FREEARGS = 5;
  48. def PRF_FREEARGS = 32;
  49.  
  50. struct FileHandle is
  51.   fh_Link:ulong;
  52.   fh_Port:ulong;
  53.   fh_Type:ulong;
  54.   fh_Buf:long;
  55.   fh_Pos:long;
  56.   fh_End:long;
  57.   fh_Funcs:long;
  58.   fh_Func2:long;
  59.   fh_Func3:long;
  60.   fh_Args:long;
  61.   fh_Arg2:long;
  62. ;
  63.  
  64. def fh_Func1 = fh_Funcs;
  65. def fh_Arg1 = fh_Args;
  66.  
  67. struct DosPacket is
  68.   dp_Link:ulong;
  69.   dp_Port:ulong;
  70.   dp_Type:long;
  71.   dp_Res1:long;
  72.   dp_Res2:long;
  73.   dp_Arg1:long;
  74.   dp_Arg2:long;
  75.   dp_Arg3:long;
  76.   dp_Arg4:long;
  77.   dp_Arg5:long;
  78.   dp_Arg6:long;
  79.   dp_Arg7:long;
  80. ;
  81.  
  82. def dp_Action = dp_Type;
  83. def dp_Status = dp_Res1;
  84. def dp_Status2 = dp_Res2;
  85. def dp_BufAddr = dp_Arg1;
  86.  
  87. struct StandardPacket is
  88.   sp_Msg:Message;
  89.   sp_Pkt:DosPacket;
  90. ;
  91.  
  92. def ACTION_NIL = 0;
  93. def ACTION_STARTUP = 0;
  94. def ACTION_GET_BLOCK = 2;
  95. def ACTION_SET_MAP = 4;
  96. def ACTION_DIE = 5;
  97. def ACTION_EVENT = 6;
  98. def ACTION_CURRENT_VOLUME = 7;
  99. def ACTION_LOCATE_OBJECT = 8;
  100. def ACTION_RENAME_DISK = 9;
  101. def ACTION_WRITE = 'W';
  102. def ACTION_READ = 'R';
  103. def ACTION_FREE_LOCK = 15;
  104. def ACTION_DELETE_OBJECT = 16;
  105. def ACTION_RENAME_OBJECT = 17;
  106. def ACTION_MORE_CACHE = 18;
  107. def ACTION_COPY_DIR = 19;
  108. def ACTION_WAIT_CHAR = 20;
  109. def ACTION_SET_PROTECT = 21;
  110. def ACTION_CREATE_DIR = 22;
  111. def ACTION_EXAMINE_OBJECT = 23;
  112. def ACTION_EXAMINE_NEXT = 24;
  113. def ACTION_DISK_INFO = 25;
  114. def ACTION_INFO = 26;
  115. def ACTION_FLUSH = 27;
  116. def ACTION_SET_COMMENT = 28;
  117. def ACTION_PARENT = 29;
  118. def ACTION_TIMER = 30;
  119. def ACTION_INHIBIT = 31;
  120. def ACTION_DISK_TYPE = 32;
  121. def ACTION_DISK_CHANGE = 33;
  122. def ACTION_SET_DATE = 34;
  123.  
  124. def ACTION_SCREEN_MODE = 994;
  125.  
  126. def ACTION_READ_RETURN = 1001;
  127. def ACTION_WRITE_RETURN = 1002;
  128. def ACTION_SEEK = 1008;
  129. def ACTION_FINDUPDATE = 1004;
  130. def ACTION_FINDINPUT = 1005;
  131. def ACTION_FINDOUTPUT = 1006;
  132. def ACTION_END = 1007;
  133. def ACTION_SET_FILE_SIZE = 1022;
  134. def ACTION_WRITE_PROTECT = 1023;
  135.  
  136. def ACTION_SAME_LOCK = 40;
  137. def ACTION_CHANGE_SIGNAL = 995;
  138. def ACTION_FORMAT = 1020;
  139. def ACTION_MAKE_LINK = 1021;
  140.  
  141. def ACTION_READ_LINK = 1024;
  142. def ACTION_FH_FROM_LOCK = 1026;
  143. def ACTION_IS_FILESYSTEM = 1027;
  144. def ACTION_CHANGE_MODE = 1028;
  145.  
  146. def ACTION_COPY_DIR_FH = 1030;
  147. def ACTION_PARENT_FH = 1031;
  148. def ACTION_EXAMINE_ALL = 1033;
  149. def ACTION_EXAMINE_FH = 1034;
  150.  
  151. def ACTION_LOCK_RECORD = 2008;
  152. def ACTION_FREE_RECORD = 2009;
  153.  
  154. def ACTION_ADD_NOTIFY = 4097;
  155. def ACTION_REMOVE_NOTIFY = 4098;
  156.  
  157. def ACTION_EXAMINE_ALL_END = 1035;
  158. def ACTION_SET_OWNER = 1036;
  159.  
  160. def ACTION_SERIALIZE_DISK = 4200;
  161.  
  162. struct ErrorString is
  163.   estr_Nums:ulong;
  164.   estr_Strings:ulong;
  165. ;
  166.  
  167. struct DosLibBase is
  168.   dl_lib:Library;
  169.   dl_Root:ulong;
  170.   dl_GV:ulong;
  171.   dl_A2:long;
  172.   dl_A5:long;
  173.   dl_A6:long;
  174.   dl_Errors:ulong;
  175.   dl_TimeReq:ulong;
  176.   dl_UtilityBase:ulong;
  177.   dl_IntuitionBase:ulong;
  178. ;
  179.  
  180. struct RootNode is
  181.   rn_TaskArray:long;
  182.   rn_ConsoleSegment:long;
  183.   rn_Time:DateStamp;
  184.   rn_RestartSeg:long;
  185.   rn_Info:long;
  186.   rn_FileHandlerSegment:long;
  187.   rn_CliList:MinList;
  188.   rn_BootProc:ulong;
  189.   rn_ShellSegment:long;
  190.   rn_Flags:long;
  191. ;
  192.  
  193. def RNB_WILDSTAR = 24;
  194. def RNF_WILDSTAR = (1<<24);
  195. def RNB_PRIVATE1 = 1;
  196. def RNF_PRIVATE1 = 2;
  197.  
  198. struct CliProcList is
  199.   cpl_Node:MinNode;
  200.   cpl_First:long;
  201.   cpl_Array:ulong;
  202. ;
  203.  
  204. struct DosInfo is
  205.   di_McName:long;
  206.   di_DevInfo:long;
  207.   di_Devices:long;
  208.   di_Handlers:long;
  209.   di_NetHand:ulong;
  210.   di_DevLock:SignalSemaphore;
  211.   di_EntryLock:SignalSemaphore;
  212.   di_DeleteLock:SignalSemaphore;
  213. ;
  214.  
  215. def di_ResList = di_McName;
  216.  
  217. struct Segment is
  218.   seg_Next:long;
  219.   seg_UC:long;
  220.   seg_Seg:long;
  221.   seg_Name[4]:ubyte;
  222. ;
  223.  
  224. def CMD_SYSTEM = -1;
  225. def CMD_INTERNAL = -2;
  226. def CMD_DISABLED = -999;
  227.  
  228. struct CommandLineInterface is
  229.   cli_Result2:long;
  230.   cli_SetName:long;
  231.   cli_CommandDir:long;
  232.   cli_ReturnCode:long;
  233.   cli_CommandName:long;
  234.   cli_FailLevel:long;
  235.   cli_Prompt:long;
  236.   cli_StandardInput:long;
  237.   cli_CurrentInput:long;
  238.   cli_CommandFile:long;
  239.   cli_Interactive:long;
  240.   cli_Background:long;
  241.   cli_CurrentOutput:long;
  242.   cli_DefaultStack:long;
  243.   cli_StandardOutput:long;
  244.   cli_Module:long;
  245. ;
  246.  
  247. struct DeviceList is
  248.   dl_Next:long;
  249.   dl_Type:long;
  250.   dl_Task:ulong;
  251.   dl_Lock:long;
  252.   dl_VolumeDate:DateStamp;
  253.   dl_LockList:long;
  254.   dl_DiskType:long;
  255.   dl_unused:long;
  256.   dl_Name:long;
  257. ;
  258.  
  259. struct DevInfo is
  260.   dvi_Next:long;
  261.   dvi_Type:long;
  262.   dvi_Task:ulong;
  263.   dvi_Lock:long;
  264.   dvi_Handler:long;
  265.   dvi_StackSize:long;
  266.   dvi_Priority:long;
  267.   dvi_Startup:long;
  268.   dvi_SegList:long;
  269.   dvi_GlobVec:long;
  270.   dvi_Name:long;
  271. ;
  272.  
  273. struct DosList is
  274.   dol_Next:long;
  275.   dol_Type:long;
  276.   dol_Task:ulong;
  277.   dol_Lock:long;
  278.   dol_misc:union is
  279.     dol_handler:struct is
  280.       dol_Handler:long;
  281.       dol_StackSize:long;
  282.       dol_Priority:long;
  283.       dol_Startup:ulong;
  284.       dol_SegList:long;
  285.       dol_GlobVec:long;
  286.     ;
  287.     dol_volume:struct is
  288.       dol_VolumeDate:DateStamp;
  289.       dol_LockList:long;
  290.       dol_DiskType:long;
  291.     ;
  292.     dol_assign:struct is
  293.       dol_AssignName:ulong;
  294.       dol_List:ulong;
  295.     ;
  296.   ;
  297.   dol_Name:long;
  298. ;
  299.  
  300. struct AssignList is
  301.   al_Next:ulong;
  302.   al_Lock:long;
  303. ;
  304.  
  305. def DLT_DEVICE = 0;
  306. def DLT_DIRECTORY = 1;
  307. def DLT_VOLUME = 2;
  308. def DLT_LATE = 3;
  309. def DLT_NONBINDING = 4;
  310. def DLT_PRIVATE = -1;
  311.  
  312. struct DevProc is
  313.   dvp_Port:ulong;
  314.   dvp_Lock:long;
  315.   dvp_Flags:ulong;
  316.   dvp_DevNode:ulong;
  317. ;
  318.  
  319. def DVPB_UNLOCK = 0;
  320. def DVPF_UNLOCK = (1<<DVPB_UNLOCK);
  321. def DVPB_ASSIGN = 1;
  322. def DVPF_ASSIGN = (1<<DVPB_ASSIGN);
  323.  
  324. def LDB_DEVICES = 2;
  325. def LDF_DEVICES = (1<<LDB_DEVICES);
  326. def LDB_VOLUMES = 3;
  327. def LDF_VOLUMES = (1<<LDB_VOLUMES);
  328. def LDB_ASSIGNS = 4;
  329. def LDF_ASSIGNS = (1<<LDB_ASSIGNS);
  330. def LDB_ENTRY = 5;
  331. def LDF_ENTRY = (1<<LDB_ENTRY);
  332. def LDB_DELETE = 6;
  333. def LDF_DELETE = (1<<LDB_DELETE);
  334.  
  335. def LDB_READ = 0;
  336. def LDF_READ = (1<<LDB_READ);
  337. def LDB_WRITE = 1;
  338. def LDF_WRITE = (1<<LDB_WRITE);
  339.  
  340. def LDF_ALL = (LDF_DEVICES|LDF_VOLUMES|LDF_ASSIGNS);
  341.  
  342. struct FileLock is
  343.   fl_Link:long;
  344.   fl_Key:long;
  345.   fl_Access:long;
  346.   fl_Task:ulong;
  347.   fl_Volume:long;
  348. ;
  349.  
  350. def REPORT_STREAM = 0;
  351. def REPORT_TASK = 1;
  352. def REPORT_LOCK = 2;
  353. def REPORT_VOLUME = 3;
  354. def REPORT_INSERT = 4;
  355.  
  356. def ABORT_DISK_ERROR = 296;
  357. def ABORT_BUSY = 288;
  358.  
  359. def RUN_EXECUTE = -1;
  360. def RUN_SYSTEM = -2;
  361. def RUN_SYSTEM_ASYNCH = -3;
  362.  
  363. def ST_ROOT = 1;
  364. def ST_USERDIR = 2;
  365. def ST_SOFTLINK = 3;
  366. def ST_LINKDIR = 4;
  367. def ST_FILE = -3;
  368. def ST_LINKFILE = -4;
  369. def ST_PIPEFILE = -5;
  370.  
  371.